export default {
  // 此处编写的就是 Vue组件实例的配置项，通过一定语法，可用直接混入到组件内部
  // data methods computed 生命周期函数 ... 都可以往这里放，相当于组件内有的这里都能有 然后混入组件内部
  // 注意点：
  //    1.如果此处和组件内提供了同名的 date 或 methods ... 则组件内的优先级更高
  //    2.如果编写了生命周期函数，则mixins中的生命周期函数 和 页面中的生命周期函数，会用数组管理 统一执行
  created () {
    // console.log('this is mixins')
  },
  data () {
    return {}
  },
  methods: {
    // 判断 token 是否存在
    // 1. 如果 token 不存在， => true
    // 2. 如果 token 存在，  => false
    loginConfirm () {
      if (!this.$store.getters.token) {
        // 弹出确认框
        this.$dialog.confirm({
          title: '温馨提示',
          message: '此操作需要先登录才能继续操作',
          confirmButtonText: '去登录',
          cancelButtonText: '再逛逛'
        }).then(() => {
          // 如果希望跳转登录 => 登录后能跳转回来，就需要再跳转的时候携带参数（当前的路径地址）
          // this.$route.fullPath （会包含查询参数）
          this.$router.replace({
            path: '/login',
            query: {
              backUrl: this.$route.fullPath
            }
          })
        }).catch(() => {})
        return true
      }
      return false
    }
  }
}
